package cn.cqie.attendance.teacher.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.ibatis.type.Alias;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @author wqh
 * @date 2021/6/21 16:55
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "Course对象", description = "")
@Alias("leave")
public class TeacherLeave implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "请假id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "教师id")
    private Integer teacherId;

    @ApiModelProperty(value = "教师姓名")
    private String teacherName;

    @ApiModelProperty(value = "请假主题")
    private String leaveTheme;

    @ApiModelProperty(value = "请假原因")
    private String leaveReason;

    @ApiModelProperty(value = "请假说明")
    private String reasonDetail;

    @ApiModelProperty(value = "请假学生id")
    private Integer stuId;

    @ApiModelProperty(value = "学生姓名")
    private String stuName;

    @ApiModelProperty(value = "学号")
    private String stuNumber;

    @ApiModelProperty(value = "班级")
    private String className;

    @ApiModelProperty(value = "专业")
    private String majorName;

    @ApiModelProperty(value = "年级")
    private String gradeName;

    @ApiModelProperty(value = "学院")
    private String collegeName;

    @ApiModelProperty(value = "请假状态")
    private Integer leaveStatus;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "请假开始时间")
    private Date startTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "请假结束时间")
    private Date endTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "请假申请时间")
    private Date applyTime;

    @ApiModelProperty(value = "课程ID")
    private Integer courseId;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "审批时间")
    private Date transitTime;

    @ApiModelProperty(value = "班主任Id")
    private Integer headmaster;
}
